Computer applications having frequent read/write operations, such as a database application involving a substantial number of records, can achieve improved time performance by utilizing an in-core disk for temporary data storage instead of a floppy disk or hard disk. The read/write operations between the application program and the in-core disk are very rapid compared to storage on an external storage device. Thus, it is desirable to allocate part of the in-core memory to function as a disk.
A disadvantage associated with in-core disk usage is the possibility that data stored in such a disk will be lost should a system crash occur prior to the contents of the in-core disk being transferred to a nonvolatile memory, such as a conventional floppy disk. It is known that currently available word processing applications permit a user to cause the program to automatically save or update a user file at predetermined time intervals. Thus, the user is assured that only a limited amount of input or work will be lost, in the event of a loss of power or system crash. It will be apparent that this method places the burden upon each application program to provide file protection.
In digital computer systems, it is known to utilize the operating system to write the total contents of core memory to a disk drive upon detection of a system crash. The purpose for saving the contents of the memory in existing digital computer systems upon a crash determination, is to provide a diagnostic tool for analyzing the cause of the crash. Unless user data stored in core memory was saved shortly before the system crash, either by a manual save initiated by the user, or a periodic save under the control of the application program, the user data stored in core is lost.